package com.open.system.service;

import com.open.system.model.Notice;
import com.open.common.model.Page;
import com.open.system.model.UserNotice;
import com.open.system.model.vo.NoticeVo;

import java.util.List;

/**
 * 
 *
 * @author 大树03
 * @date 2025-07-18 17:38
 */
public interface INoticeService{

    /**
     * 添加对象
     * @param model
     * @return boolean
     * @date 2025-07-18 17:38
     */
    Boolean save(Notice model) ;

    /**
     * 修改对象
     * @param model
     * @return boolean
     * @date 2025-07-18 17:38
     */
    Boolean update(Notice model) ;

    /***
     * 根据主键查询
     *
     * @param pk 主键
     * @return Notice
     */
    Notice findByPk(Long pk) ;

    /**
     * 根据条件查询记录数
     *
     * @param item
     * @return Integer
     */
    Integer countByModel(Notice item) ;

    /**
     * 分页查询
     *
     * @param page
     * @param model
     * @return
     */
    Page<Notice> findPage(Page<Notice> page, Notice model);

    /**
     * 根据条件查询
     *
     * @param model
     * @return
     */
    List<Notice> findByModel(Notice model);

    /**
     * 根据主键删除
     *
     * @param pks
     * @return boolean
     */
    Boolean remove(List<Long> pks) ;

    Page<NoticeVo> scrollPage(Page<UserNotice> page, UserNotice model);
}